iT邦幫忙

2024 iThome 鐵人賽

DAY 4
0
AI/ ML & Data

使用 jq 處理資料系列 第 4

Day4: JSON 學習小站

  • 分享至 

  • xImage
  •  

目前為止,我們大概看過 curl+jq 的基本效果,也知道如何在 windows 上安裝這兩項工具。是時候慢下腳步了...

有這麼一段對話...

師傅:你明白了嗎?

徒弟:呃,我…我覺得有點懂,但還是有些不清楚。

師傅:哪裡不清楚?

徒弟:就是…那個 JSON,我記得您說過,但是我不太確定什麼是 JSON。

師傅:JSON是什麼?

徒弟:呃,是一種…資料格式?我記得是用來…傳輸資料的?

師傅:對。再說。

徒弟:它好像是鍵值對的形式,對吧?但實際怎麼用我還不太明白。

師傅:鍵值對,記住。能寫一個嗎?

徒弟:我試試看…但可能需要您再指導一下。

師傅:去這裡看看:www.json.org。了解更多。快去。別拖。


認識 JSON

JSON (JavaScript Object Notation) 是一種輕量級的資料格式,常用於資料交換。它易於閱讀和編寫,並且被許多程式語言所支援。

JSON 的基本型別有:

  1. Object: 鍵值對(key-value pairs),用 {} 表示。
    • 範例:{"name": "Alice", "age": 30}
  2. Array: 順序列表,用 [] 表示。
    • 範例:[1, 2, 3]
  3. String: 字串資料,用雙引號表示。
    • 範例:"Hello"
  4. Number: 數字型資料,無需引號。
    • 範例:42
  5. Boolean: 布林值,truefalse
  6. Null: 空值,表示無資料。

光是這6種基本型別的不同組合,就足以讓 JSON 成為靈活且結構化的資料表示形式。

回頭看看 https://jsonplaceholder.typicode.com/todos/1

{
  "userId": 1,
  "id": 1,
  "title": "delectus aut autem",
  "completed": false
}

觀察這段 JSON:

  • 最外層有 {},表示他是一個物件。
  • 物件裡面有4個鍵值對(key-value pairs)。其中的 key 又可以稱作為物件的屬性。
    • 其中 userIdid 兩個屬性的型別是數值 (Number)。
    • title 屬性型別是字串。
    • completed 屬性型別是布林。

結論

想當初在學 Javascript 的時候, JSON 格式的概念很自然而(ㄊㄨˊ)然地就被帶入了,因為剛好 Javascript 可以使用這樣的格式來宣告物件 (object literal)。然而對於初學或是學習其他語言的人,是有可能第一次聽見 JSON 這個詞的。

今天我們認識了 JSON ,好像每個學程式開發的人都應該知道、卻又很少被仔細介紹定義的格式。認識(複習) JSON 有助於接下來的的操作學習。讓我們感謝今天的自己,因為自己今天有認真學習喔!


上一篇
Day3: 在 windows 作業系統安裝 jq
下一篇
Day5: 使用 jq filter 取得 JSON 物件屬性值
系列文
使用 jq 處理資料30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言